#ifndef _SPYWARE_SCANNER_H_
#define _SPYWARE_SCANNER_H_

#include <string>
#include <vector>
#include <fstream>
#include "spyware_information.h"

class Spyware_Information;

class Spyware_Scanner
{
public:
	typedef std::vector<Spyware_Information *> Spyware_Information_Collection;
	typedef std::pair<std::string, Harm_Level> Spyware_Sign;

	Spyware_Scanner(const Windows_Information & win_info, const std::string & specificity_file);
	virtual ~Spyware_Scanner();
	bool	find_first(Spyware_Sign & sign);
	bool	find_next(Spyware_Sign & sign);
	int	kill_item(const Spyware_Sign & sign) const;
	int	get_item_total() const;

private:
	Spyware_Information_Collection spyware_collection_;
	std::ifstream	spec_file_;
	std::string		spec_file_path_;
	const Windows_Information	&win_info_;
	int	item_num_;
};

#endif
